package com.goodfox.web.biz.forest.entity;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import com.goodfox.web.generic.provide.annotation.DbEntity;
import com.goodfox.web.generic.provide.annotation.DbField;

@DbEntity(comment="林地",table="WOODLAND")
public class Woodland implements Serializable{
	@DbField(comment="林地ID",column="WOOD_ID",pk=true,export=false,javaType="String",dataType="VARCHAR2",required=true,maxLength=50)
	private String woodId;

	@DbField(comment="林权证ID",column="FST_RIG_ID",export=false,javaType="String",dataType="VARCHAR2",maxLength=50)
	private String fstRigId;

	@DbField(comment="申请表编号",column="APP_NUMBER",javaType="String",dataType="VARCHAR2",required=true,maxLength=50)
	private String appNumber;

	@DbField(comment="登记类型",column="RST_TYPE",export=false,javaType="String",dataType="VARCHAR2",maxLength=2)
	private String rstType;

	@DbField(comment="登记类型",column="RST_TYPE",direct=false)
	private String rstTypeTxt;

	@DbField(comment="是否抵押",column="MORTGAGE",javaType="String",dataType="VARCHAR2",remark="0否 1是",maxLength=2)
	private String mortgage;

	@DbField(comment="是否退耕还林",column="BACK_FOREST",javaType="String",dataType="VARCHAR2",remark="0否 1是",maxLength=2)
	private String backForest;

	@DbField(comment="林地所有权权利人",column="FST_OWN",export=false,javaType="String",dataType="VARCHAR2",maxLength=2)
	private String fstOwn;

	@DbField(comment="林地所有权权利人",column="FST_OWN",direct=false)
	private String fstOwnTxt;

	@DbField(comment="林地使用权权利人",column="FST_USE",javaType="String",dataType="VARCHAR2",maxLength=100)
	private String fstUse;

	@DbField(comment="森林或林木所有权权利人",column="WOOD_OWN",javaType="String",dataType="VARCHAR2",maxLength=100)
	private String woodOwn;

	@DbField(comment="森林或林木使用权权利人",column="WOOD_USE",javaType="String",dataType="VARCHAR2",maxLength=100)
	private String woodUse;

	@DbField(comment="坐落",column="AREA_ID",export=false,javaType="String",dataType="VARCHAR2",remark="所属地区",maxLength=500)
	private String areaId;

	@DbField(comment="坐落",column="AREA_ID",direct=false)
	private String areaName;

	@DbField(comment="小地名",column="SMALL_TO",javaType="String",dataType="VARCHAR2",maxLength=200)
	private String smallTo;

	@DbField(comment="林班",column="FST_CLASS",javaType="String",dataType="VARCHAR2",maxLength=200)
	private String fstClass;

	@DbField(comment="小班",column="SMALL_CLS",javaType="String",dataType="VARCHAR2",maxLength=200)
	private String smallCls;

	@DbField(comment="面积(亩)",column="ACREAGE",javaType="Double",dataType="NUMBER",maxLength=22)
	private Double acreage;

	@DbField(comment="主要树种列表",export=false,javaType="EntityList",subClass=WoodlandSpecies.class)
	private List<WoodlandSpecies> alWoodlandSpeciesList;

	@DbField(comment="主要树种",column="SPECIES",direct=false)
	private String speciesTxt;

	@DbField(comment="蓄积或株数",column="TREES_NUM",javaType="Long",dataType="NUMBER",maxLength=22)
	private Long treesNum;

	@DbField(comment="造林年度",column="AFF_DATE",javaType="Date",dataType="DATE",pattern="yyyy",maxLength=4)
	private Date affDate;

	@DbField(comment="地类",column="LAND_TYPE",export=false,javaType="String",dataType="VARCHAR2",maxLength=2)
	private String landType;

	@DbField(comment="地类",column="LAND_TYPE",direct=false)
	private String landTypeTxt;

	@DbField(comment="森林分类",column="FST_TYPE",export=false,javaType="String",dataType="VARCHAR2",maxLength=2)
	private String fstType;

	@DbField(comment="森林分类",column="FST_TYPE",direct=false)
	private String fstTypeTxt;

	@DbField(comment="林种",column="FST_SPECIES",export=false,javaType="String",dataType="VARCHAR2",maxLength=2)
	private String fstSpecies;

	@DbField(comment="林种",column="FST_SPECIES",direct=false)
	private String fstSpeciesTxt;

	@DbField(comment="林地使用期(年)",column="FST_USE_DATE",javaType="Long",dataType="NUMBER",maxLength=22)
	private Long fstUseDate;

	@DbField(comment="终止日期",column="END_DATE",javaType="Date",dataType="DATE",pattern="yyyy-MM-dd",maxLength=10)
	private Date endDate;

	@DbField(comment="坡度",column="SLOPE",javaType="String",dataType="VARCHAR2",maxLength=100)
	private String slope;

	@DbField(comment="坡向",column="ASPECT",javaType="String",dataType="VARCHAR2",maxLength=100)
	private String aspect;

	@DbField(comment="档案柜编号",column="CABINET_NUM",javaType="String",dataType="VARCHAR2",maxLength=50)
	private String cabinetNum;

	@DbField(comment="主要权利依据",column="BASIS",javaType="String",dataType="VARCHAR2",maxLength=500)
	private String basis;

	@DbField(comment="林权共有者说明",column="EXPLAIN",javaType="String",dataType="VARCHAR2",maxLength=500)
	private String explain;

	@DbField(comment="注记",column="NOTE",javaType="String",dataType="VARCHAR2",maxLength=500)
	private String note;

	@DbField(comment="外业调查人",column="INV_PERSON",javaType="String",dataType="VARCHAR2",maxLength=500)
	private String invPerson;

	@DbField(comment="经办人",column="HDE_PERSON",javaType="String",dataType="VARCHAR2",maxLength=500)
	private String hdePerson;

	@DbField(comment="负责人",column="CRG_PERSON",javaType="String",dataType="VARCHAR2",maxLength=500)
	private String crgPerson;

	@DbField(comment="发证日期",column="ISSUE_DATE",javaType="Date",dataType="DATE",pattern="yyyy-MM-dd",maxLength=10)
	private Date issueDate;

	@DbField(comment="林地四至列表",javaType="EntityList",subClass=WoodlandFour.class)
	private List<WoodlandFour> alWoodlandFourList;

	@DbField(comment="林地照片列表",export=false,javaType="EntityList",subClass=WoodlandPhoto.class)
	private List<WoodlandPhoto> alWoodlandPhotoList;

	public String getWoodId(){
		return this.woodId;
	}
	public void setWoodId(String woodId){
		this.woodId=woodId;
	}

	public String getFstRigId(){
		return this.fstRigId;
	}
	public void setFstRigId(String fstRigId){
		this.fstRigId=fstRigId;
	}

	public String getAppNumber(){
		return this.appNumber;
	}
	public void setAppNumber(String appNumber){
		this.appNumber=appNumber;
	}

	public String getRstType(){
		return this.rstType;
	}

	public String getRstTypeTxt(){
		return this.rstTypeTxt;
	}
	public void setRstType(String rstType){
		this.rstType=rstType;
	}

	public void setRstTypeTxt(String rstTypeTxt){
		this.rstTypeTxt=rstTypeTxt;
	}

	public String getMortgage(){
		return this.mortgage;
	}
	public void setMortgage(String mortgage){
		this.mortgage=mortgage;
	}

	public String getBackForest(){
		return this.backForest;
	}
	public void setBackForest(String backForest){
		this.backForest=backForest;
	}

	public String getFstOwn(){
		return this.fstOwn;
	}

	public String getFstOwnTxt(){
		return this.fstOwnTxt;
	}
	public void setFstOwn(String fstOwn){
		this.fstOwn=fstOwn;
	}

	public void setFstOwnTxt(String fstOwnTxt){
		this.fstOwnTxt=fstOwnTxt;
	}

	public String getFstUse(){
		return this.fstUse;
	}
	public void setFstUse(String fstUse){
		this.fstUse=fstUse;
	}

	public String getWoodOwn(){
		return this.woodOwn;
	}
	public void setWoodOwn(String woodOwn){
		this.woodOwn=woodOwn;
	}

	public String getWoodUse(){
		return this.woodUse;
	}
	public void setWoodUse(String woodUse){
		this.woodUse=woodUse;
	}
	
	public String getAreaId() {
		return areaId;
	}
	public void setAreaId(String areaId) {
		this.areaId = areaId;
	}
	
	public String getAreaName() {
		return areaName;
	}
	public void setAreaName(String areaName) {
		this.areaName = areaName;
	}

	public String getSmallTo(){
		return this.smallTo;
	}
	public void setSmallTo(String smallTo){
		this.smallTo=smallTo;
	}

	public String getFstClass(){
		return this.fstClass;
	}
	public void setFstClass(String fstClass){
		this.fstClass=fstClass;
	}

	public String getSmallCls(){
		return this.smallCls;
	}
	public void setSmallCls(String smallCls){
		this.smallCls=smallCls;
	}

	public Double getAcreage(){
		return this.acreage;
	}
	public void setAcreage(Double acreage){
		this.acreage=acreage;
	}
	
	public List<WoodlandSpecies> getAlWoodlandSpeciesList() {
		return alWoodlandSpeciesList;
	}
	public void setAlWoodlandSpeciesList(List<WoodlandSpecies> alWoodlandSpeciesList) {
		this.alWoodlandSpeciesList = alWoodlandSpeciesList;
	}
	
	public String getSpeciesTxt(){
		if(speciesTxt==null || speciesTxt.equals("")){
			speciesTxt="";
			if(alWoodlandSpeciesList!=null){
				for(WoodlandSpecies species:alWoodlandSpeciesList){
					speciesTxt+=species.getAtrName()+"、";
				}
				if(speciesTxt.length()>0 && speciesTxt.lastIndexOf("、")==speciesTxt.length()-1){
					speciesTxt=speciesTxt.substring(0,speciesTxt.length()-1);
				}
			}
		}
		return this.speciesTxt;
	}
	public void setSpeciesTxt(String speciesTxt){
		this.speciesTxt=speciesTxt;
	}

	public Long getTreesNum(){
		return this.treesNum;
	}
	public void setTreesNum(Long treesNum){
		this.treesNum=treesNum;
	}

	public Date getAffDate(){
		return this.affDate;
	}
	public void setAffDate(Date affDate){
		this.affDate=affDate;
	}

	public String getLandType(){
		return this.landType;
	}

	public String getLandTypeTxt(){
		return this.landTypeTxt;
	}
	public void setLandType(String landType){
		this.landType=landType;
	}

	public void setLandTypeTxt(String landTypeTxt){
		this.landTypeTxt=landTypeTxt;
	}

	public String getFstType(){
		return this.fstType;
	}

	public String getFstTypeTxt(){
		return this.fstTypeTxt;
	}
	public void setFstType(String fstType){
		this.fstType=fstType;
	}

	public void setFstTypeTxt(String fstTypeTxt){
		this.fstTypeTxt=fstTypeTxt;
	}

	public String getFstSpecies(){
		return this.fstSpecies;
	}

	public String getFstSpeciesTxt(){
		return this.fstSpeciesTxt;
	}
	public void setFstSpecies(String fstSpecies){
		this.fstSpecies=fstSpecies;
	}

	public void setFstSpeciesTxt(String fstSpeciesTxt){
		this.fstSpeciesTxt=fstSpeciesTxt;
	}

	public Long getFstUseDate(){
		return this.fstUseDate;
	}
	public void setFstUseDate(Long fstUseDate){
		this.fstUseDate=fstUseDate;
	}

	public Date getEndDate(){
		return this.endDate;
	}
	public void setEndDate(Date endDate){
		this.endDate=endDate;
	}

	public String getSlope(){
		return this.slope;
	}
	public void setSlope(String slope){
		this.slope=slope;
	}

	public String getAspect(){
		return this.aspect;
	}
	public void setAspect(String aspect){
		this.aspect=aspect;
	}

	public String getCabinetNum(){
		return this.cabinetNum;
	}
	public void setCabinetNum(String cabinetNum){
		this.cabinetNum=cabinetNum;
	}

	public String getBasis(){
		return this.basis;
	}
	public void setBasis(String basis){
		this.basis=basis;
	}

	public String getExplain(){
		return this.explain;
	}
	public void setExplain(String explain){
		this.explain=explain;
	}

	public String getNote(){
		return this.note;
	}
	public void setNote(String note){
		this.note=note;
	}

	public String getInvPerson(){
		return this.invPerson;
	}
	public void setInvPerson(String invPerson){
		this.invPerson=invPerson;
	}

	public String getHdePerson(){
		return this.hdePerson;
	}
	public void setHdePerson(String hdePerson){
		this.hdePerson=hdePerson;
	}

	public String getCrgPerson(){
		return this.crgPerson;
	}
	public void setCrgPerson(String crgPerson){
		this.crgPerson=crgPerson;
	}

	public Date getIssueDate(){
		return this.issueDate;
	}
	public void setIssueDate(Date issueDate){
		this.issueDate=issueDate;
	}
	
	public List<WoodlandFour> getAlWoodlandFourList() {
		return alWoodlandFourList;
	}
	public void setAlWoodlandFourList(List<WoodlandFour> alWoodlandFourList) {
		this.alWoodlandFourList = alWoodlandFourList;
	}
	
	public List<WoodlandPhoto> getAlWoodlandPhotoList() {
		return alWoodlandPhotoList;
	}
	public void setAlWoodlandPhotoList(List<WoodlandPhoto> alWoodlandPhotoList) {
		this.alWoodlandPhotoList = alWoodlandPhotoList;
	}

}